package com.mayisoftware.mayioa.business.score.api.service;

import com.mayisoftware.mayioa.business.score.api.domain.ScoreInfo;

import java.util.List;
import java.util.Map;

public interface IScoreInfoService {

    /**
     * 根据用户Id查询计划下拉列表
     * @param userId 用户Id
     * @return
     */
    public List<Map<String,String>> getPlanSelectList(Long userId);


    /**
     * 根据计划Id查询参与用户
     * @param planId 计划ID
     * @return
     */
    public List<Map<String,Object>> getSignPlanUsers(Long planId);

    /**
     * 查询计划明细下拉列表
     * @param planId 计划ID
     * @return
     */
    public List<Map<String,Object>> selectPlanDetails(Long planId);

    /**
     * 添加打分記錄
     * @param scoreInfo
     * @return
     */
    public int insertScoInfo(ScoreInfo scoreInfo);

    int insertOneScoInfo(ScoreInfo scoreInfo);

    /**
     * 查询打分记录
     * @return
     */
    List<ScoreInfo> selectScoreInfoList(ScoreInfo scoreInfo);

    /**
     * 查询打分记录
     * @return
     */
    List<ScoreInfo> selectScoreInfoList(ScoreInfo scoreInfo,Long loginUserId);


    /**
     * 刪除打分記錄byID
     * @param ids
     * @return
     */
    public int deleteScoreInfoByIds(String ids);

    /**
     * 根據ID查詢
     * @param recordId
     * @return
     */
    ScoreInfo selectByPrimaryKey (Long recordId);

    /**
     * 根据ID更新
     * @param scoreInfo
     * @return
     */
    int updateByPrimaryKeySelective(ScoreInfo scoreInfo);

    /**
     * 查詢分數下拉选择
     * @param planId
     * @param userId
     * @return
     */
    public List<Map<String, Object>> selectPlanDetailsScore(Long planId,Long userId);

    /**
     * 根据计划和用户信息读取记录id
     */
    List<ScoreInfo> selectScoreInfoListByUserAndPlan(ScoreInfo scoreInfo);

    /**
     * 更新打分記錄
     * @param scoreInfo
     * @return
     */
    int  updateScoreInfo(ScoreInfo scoreInfo);
}
